/**
 * @description 根据位置插入值,负数会从尾端开始数，正数大于长度则最尾端插入
 * @param {index} 所需要插入的位置
 * @param {any} 所需要插入的值
 */
 Array.prototype.replaceByIndex=function(index,val){
    this[index]=val;
    //this.splice(index,1,val);
 }

/**
 * @description 根据位置插入值,负数会从尾端开始数，正数大于长度则最尾端插入
 * @param {index} 所需要插入的位置
 * @param {any} 所需要插入的值
 */
 Array.prototype.insertByIndex=function(index,val){
   if(val){
       this.splice(index,0,val);
   }
}


/**
 * @description 根据位置删除数组元素,长度会变
 * @param {index} 位置
 */
 Array.prototype.removeByIndex=function(index){
    if(index<this.length){
        this.splice(index,1);
    }
}

/**
 * @description 根据值删除数组元素
 * @param {val} 值
 */
 Array.prototype.removeByVal=function(val){
     let index=this.indexOf(val);
    if(index>-1){
        this.splice(index,1);
    }
}

/**
 * @description 根据位置删除数组元素,长度不变，所在位置变成undefined
 * @param {index} 位置
 */
 Array.prototype.deleteItem=function(index){
   delete this[index]
}